<?php

$path = [
    'Core' => 'Core',
    'Api' => 'Api',
    'Logic' => 'Logic',
    'Config' => 'Config',
//    'model' => 'Api/models',
//    'view' => 'Api/views',
//    'dispatcher' => 'core/dispatcher',
];

/**
 * 参数 $class 表示自动加载的类名
 *
 * 匿名函数中使用 use 可以使用外部变量
 */
spl_autoload_register(
    function ($class) use ($path) {
        //解析类名，如果使用了命名空间，则会查找 $path 中对于的路径
        $position = strripos($class, '\\');
        $key = substr($class, 0, $position);
        $value = $path[$key] ?? '';
        $file = substr($class, $position + 1) . '.php';
        include APP_PATH . '/' . $value . '/' . $file;
    }
);